"""
@version:python3
@author:ll
@file:04-QWidget-交互状态-案例.py
@time:2022/2/12 20:28
"""
from PyQt5.Qt import *


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("交互状态案例")
        self.resize(500, 500)
        self.setup_ui()

    def setup_ui(self):  # 添加子控件以及子控件的配置操作
        # 添加三个子控件
        label = QLabel(self)
        label.setText("标签")
        label.move(100,50)
        label.hide()

        le = QLineEdit(self)
        # le.setText("文本框")
        le.move(100,100)

        btn = QPushButton(self)
        btn.setText("登陆")
        btn.move(100,150)
        btn.setEnabled(False)

        def text_cao(text):
            print("文本内容改变了",text)
            # if len(text)>0:
            #     btn.setEnabled(True)
            # else:
            #     btn.setEnabled(False)
            btn.setEnabled(len(text) > 0)

        le.textChanged.connect(text_cao)


        def check():
            print("按钮被点击了")
            # 1.获取文本内容
            content = le.text()
            # 2.判断文本内容是否是Sz
            if content == 'Sz':
                # 3.如果是，显示标签
                # label.show()
                label.setText("登陆成功")
                # label.adjustSize() # 注意这里如果不自动调整标签大小将会只显示“登陆”两个字，因为标签大小不会自动适应
            else:
                # label.show()
                label.setText("登陆失败")
                # label.adjustSize()
            label.show()
            label.adjustSize() # 移动代码可以精简

        btn.pressed.connect(check)

if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    window = Window()
    window.show()

    sys.exit(app.exec_())
